(0) Obligation:
Clauses:
in(X, tree(X, X1, X2)).
in(X, tree(Y, Left, X3)) :- ','(less(X, Y), in(X, Left)).
in(X, tree(Y, X4, Right)) :- ','(less(Y, X), in(X, Right)).
less(0, s(X5)).
less(s(X), s(Y)) :- less(X, Y).
Query: in(a,g)
(1) PrologToDTProblemTransformerProof (SOUND transformation)
Built DT problem from termination graph DT10.
(2) Obligation:
Triples:
inA(tree(X1, X2, X3)) :- ','(lesscB(X1), inA(X2)).
inA(tree(X1, X2, X3)) :- ','(lesscC(X1), inA(X3)).
lessD(s(X1), s(X2)) :- lessD(X1, X2).
inE(X1, tree(s(X2), X3, X4)) :- lessG(X1, X2).
inE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), inE(X1, X3)).
inE(X1, tree(X2, X3, X4)) :- lessG(X2, s(X1)).
inE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), inE(X1, X4)).
lessG(s(X1), s(X2)) :- lessG(X1, X2).
lessK(s(X1), s(X2)) :- lessK(X1, X2).
pI(X1, X2, X3) :- lessD(X1, X2).
pI(X1, X2, X3) :- ','(lesscD(X1, X2), inE(X1, X3)).
pJ(X1, X2, X3) :- lessK(X1, X2).
pJ(X1, X2, X3) :- ','(lesscK(X1, X2), inH(X2, X3)).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(s(X1), tree(0, X2, X3)) :- inH(s(X1), X3).
inH(s(X1), tree(s(X2), X3, X4)) :- lessK(X2, X1).
inH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), inH(s(X1), X4)).
Clauses:
incA(tree(0, X1, X2)).
incA(tree(X1, X2, X3)) :- ','(lesscB(X1), incA(X2)).
incA(tree(X1, X2, X3)) :- ','(lesscC(X1), incA(X3)).
lesscD(0, s(X1)).
lesscD(s(X1), s(X2)) :- lesscD(X1, X2).
incE(X1, tree(s(X1), X2, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), incE(X1, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), incE(X1, X4)).
lesscG(0, s(X1)).
lesscG(s(X1), s(X2)) :- lesscG(X1, X2).
incH(X1, tree(X1, X2, X3)).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(s(X1), tree(0, X2, X3)) :- incH(s(X1), X3).
incH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), incH(s(X1), X4)).
lesscK(0, s(X1)).
lesscK(s(X1), s(X2)) :- lesscK(X1, X2).
qcI(X1, X2, X3) :- ','(lesscD(X1, X2), incE(X1, X3)).
qcJ(X1, X2, X3) :- ','(lesscK(X1, X2), incH(X2, X3)).
lesscB(s(X1)).
lesscF(X1, s(X2)) :- lesscG(X1, X2).
Afs:
inH(x1, x2) = inH(x2)
(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)
Deleted triples and predicates having undefined goals [DT09].
(4) Obligation:
Triples:
inA(tree(X1, X2, X3)) :- ','(lesscB(X1), inA(X2)).
lessD(s(X1), s(X2)) :- lessD(X1, X2).
inE(X1, tree(s(X2), X3, X4)) :- lessG(X1, X2).
inE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), inE(X1, X3)).
inE(X1, tree(X2, X3, X4)) :- lessG(X2, s(X1)).
inE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), inE(X1, X4)).
lessG(s(X1), s(X2)) :- lessG(X1, X2).
lessK(s(X1), s(X2)) :- lessK(X1, X2).
pI(X1, X2, X3) :- lessD(X1, X2).
pI(X1, X2, X3) :- ','(lesscD(X1, X2), inE(X1, X3)).
pJ(X1, X2, X3) :- lessK(X1, X2).
pJ(X1, X2, X3) :- ','(lesscK(X1, X2), inH(X2, X3)).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(0, tree(s(X1), X2, X3)) :- inA(X2).
inH(s(X1), tree(s(X2), X3, X4)) :- pI(X1, X2, X3).
inH(X1, tree(X2, X3, X4)) :- pJ(X2, X1, X4).
inH(s(X1), tree(0, X2, X3)) :- inH(s(X1), X3).
inH(s(X1), tree(s(X2), X3, X4)) :- lessK(X2, X1).
inH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), inH(s(X1), X4)).
Clauses:
incA(tree(0, X1, X2)).
incA(tree(X1, X2, X3)) :- ','(lesscB(X1), incA(X2)).
lesscD(0, s(X1)).
lesscD(s(X1), s(X2)) :- lesscD(X1, X2).
incE(X1, tree(s(X1), X2, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscF(X1, X2), incE(X1, X3)).
incE(X1, tree(X2, X3, X4)) :- ','(lesscG(X2, s(X1)), incE(X1, X4)).
lesscG(0, s(X1)).
lesscG(s(X1), s(X2)) :- lesscG(X1, X2).
incH(X1, tree(X1, X2, X3)).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(0, tree(s(X1), X2, X3)) :- incA(X2).
incH(s(X1), tree(s(X2), X3, X4)) :- qcI(X1, X2, X3).
incH(X1, tree(X2, X3, X4)) :- qcJ(X2, X1, X4).
incH(s(X1), tree(0, X2, X3)) :- incH(s(X1), X3).
incH(s(X1), tree(s(X2), X3, X4)) :- ','(lesscK(X2, X1), incH(s(X1), X4)).
lesscK(0, s(X1)).
lesscK(s(X1), s(X2)) :- lesscK(X1, X2).
qcI(X1, X2, X3) :- ','(lesscD(X1, X2), incE(X1, X3)).
qcJ(X1, X2, X3) :- ','(lesscK(X1, X2), incH(X2, X3)).
lesscB(s(X1)).
lesscF(X1, s(X2)) :- lesscG(X1, X2).
Afs:
inH(x1, x2) = inH(x2)
(5) TriplesToPiDPProof (SOUND transformation)
We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:
inH_in: (f,b)
inA_in: (b)
pI_in: (f,b,b)
lessD_in: (f,b)
lesscD_in: (f,b)
inE_in: (b,b)
lessG_in: (b,b)
lesscF_in: (b,b)
lesscG_in: (b,b)
pJ_in: (b,f,b)
lessK_in: (b,f)
lesscK_in: (b,f)
Transforming
TRIPLES into the following
Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:
INH_IN_AG(0, tree(s(X1), X2, X3)) → U18_AG(X1, X2, X3, inA_in_g(X2))
INH_IN_AG(0, tree(s(X1), X2, X3)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → U2_G(X1, X2, X3, inA_in_g(X2))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U19_AG(X1, X2, X3, X4, pI_in_agg(X1, X2, X3))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → PI_IN_AGG(X1, X2, X3)
PI_IN_AGG(X1, X2, X3) → U12_AGG(X1, X2, X3, lessD_in_ag(X1, X2))
PI_IN_AGG(X1, X2, X3) → LESSD_IN_AG(X1, X2)
LESSD_IN_AG(s(X1), s(X2)) → U3_AG(X1, X2, lessD_in_ag(X1, X2))
LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)
PI_IN_AGG(X1, X2, X3) → U13_AGG(X1, X2, X3, lesscD_in_ag(X1, X2))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → U14_AGG(X1, X2, X3, inE_in_gg(X1, X3))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(s(X2), X3, X4)) → U4_GG(X1, X2, X3, X4, lessG_in_gg(X1, X2))
INE_IN_GG(X1, tree(s(X2), X3, X4)) → LESSG_IN_GG(X1, X2)
LESSG_IN_GG(s(X1), s(X2)) → U10_GG(X1, X2, lessG_in_gg(X1, X2))
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → U6_GG(X1, X2, X3, X4, inE_in_gg(X1, X3))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U7_GG(X1, X2, X3, X4, lessG_in_gg(X2, s(X1)))
INE_IN_GG(X1, tree(X2, X3, X4)) → LESSG_IN_GG(X2, s(X1))
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → U9_GG(X1, X2, X3, X4, inE_in_gg(X1, X4))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
INH_IN_AG(X1, tree(X2, X3, X4)) → U20_AG(X1, X2, X3, X4, pJ_in_gag(X2, X1, X4))
INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U15_GAG(X1, X2, X3, lessK_in_ga(X1, X2))
PJ_IN_GAG(X1, X2, X3) → LESSK_IN_GA(X1, X2)
LESSK_IN_GA(s(X1), s(X2)) → U11_GA(X1, X2, lessK_in_ga(X1, X2))
LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → U17_GAG(X1, X2, X3, inH_in_ag(X2, X3))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → U21_AG(X1, X2, X3, inH_in_ag(s(X1), X3))
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U22_AG(X1, X2, X3, X4, lessK_in_ga(X2, X1))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → LESSK_IN_GA(X2, X1)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → U24_AG(X1, X2, X3, X4, inH_in_ag(s(X1), X4))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
inH_in_ag(
x1,
x2) =
inH_in_ag(
x2)
tree(
x1,
x2,
x3) =
tree(
x1,
x2,
x3)
s(
x1) =
s(
x1)
inA_in_g(
x1) =
inA_in_g(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
pI_in_agg(
x1,
x2,
x3) =
pI_in_agg(
x2,
x3)
lessD_in_ag(
x1,
x2) =
lessD_in_ag(
x2)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
inE_in_gg(
x1,
x2) =
inE_in_gg(
x1,
x2)
lessG_in_gg(
x1,
x2) =
lessG_in_gg(
x1,
x2)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
pJ_in_gag(
x1,
x2,
x3) =
pJ_in_gag(
x1,
x3)
lessK_in_ga(
x1,
x2) =
lessK_in_ga(
x1)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
INH_IN_AG(
x1,
x2) =
INH_IN_AG(
x2)
U18_AG(
x1,
x2,
x3,
x4) =
U18_AG(
x1,
x2,
x3,
x4)
INA_IN_G(
x1) =
INA_IN_G(
x1)
U1_G(
x1,
x2,
x3,
x4) =
U1_G(
x1,
x2,
x3,
x4)
U2_G(
x1,
x2,
x3,
x4) =
U2_G(
x1,
x2,
x3,
x4)
U19_AG(
x1,
x2,
x3,
x4,
x5) =
U19_AG(
x2,
x3,
x4,
x5)
PI_IN_AGG(
x1,
x2,
x3) =
PI_IN_AGG(
x2,
x3)
U12_AGG(
x1,
x2,
x3,
x4) =
U12_AGG(
x2,
x3,
x4)
LESSD_IN_AG(
x1,
x2) =
LESSD_IN_AG(
x2)
U3_AG(
x1,
x2,
x3) =
U3_AG(
x2,
x3)
U13_AGG(
x1,
x2,
x3,
x4) =
U13_AGG(
x2,
x3,
x4)
U14_AGG(
x1,
x2,
x3,
x4) =
U14_AGG(
x1,
x2,
x3,
x4)
INE_IN_GG(
x1,
x2) =
INE_IN_GG(
x1,
x2)
U4_GG(
x1,
x2,
x3,
x4,
x5) =
U4_GG(
x1,
x2,
x3,
x4,
x5)
LESSG_IN_GG(
x1,
x2) =
LESSG_IN_GG(
x1,
x2)
U10_GG(
x1,
x2,
x3) =
U10_GG(
x1,
x2,
x3)
U5_GG(
x1,
x2,
x3,
x4,
x5) =
U5_GG(
x1,
x2,
x3,
x4,
x5)
U6_GG(
x1,
x2,
x3,
x4,
x5) =
U6_GG(
x1,
x2,
x3,
x4,
x5)
U7_GG(
x1,
x2,
x3,
x4,
x5) =
U7_GG(
x1,
x2,
x3,
x4,
x5)
U8_GG(
x1,
x2,
x3,
x4,
x5) =
U8_GG(
x1,
x2,
x3,
x4,
x5)
U9_GG(
x1,
x2,
x3,
x4,
x5) =
U9_GG(
x1,
x2,
x3,
x4,
x5)
U20_AG(
x1,
x2,
x3,
x4,
x5) =
U20_AG(
x2,
x3,
x4,
x5)
PJ_IN_GAG(
x1,
x2,
x3) =
PJ_IN_GAG(
x1,
x3)
U15_GAG(
x1,
x2,
x3,
x4) =
U15_GAG(
x1,
x3,
x4)
LESSK_IN_GA(
x1,
x2) =
LESSK_IN_GA(
x1)
U11_GA(
x1,
x2,
x3) =
U11_GA(
x1,
x3)
U16_GAG(
x1,
x2,
x3,
x4) =
U16_GAG(
x1,
x3,
x4)
U17_GAG(
x1,
x2,
x3,
x4) =
U17_GAG(
x1,
x3,
x4)
U21_AG(
x1,
x2,
x3,
x4) =
U21_AG(
x2,
x3,
x4)
U22_AG(
x1,
x2,
x3,
x4,
x5) =
U22_AG(
x2,
x3,
x4,
x5)
U23_AG(
x1,
x2,
x3,
x4,
x5) =
U23_AG(
x2,
x3,
x4,
x5)
U24_AG(
x1,
x2,
x3,
x4,
x5) =
U24_AG(
x2,
x3,
x4,
x5)
We have to consider all (P,R,Pi)-chains
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
(6) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
INH_IN_AG(0, tree(s(X1), X2, X3)) → U18_AG(X1, X2, X3, inA_in_g(X2))
INH_IN_AG(0, tree(s(X1), X2, X3)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → U2_G(X1, X2, X3, inA_in_g(X2))
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U19_AG(X1, X2, X3, X4, pI_in_agg(X1, X2, X3))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → PI_IN_AGG(X1, X2, X3)
PI_IN_AGG(X1, X2, X3) → U12_AGG(X1, X2, X3, lessD_in_ag(X1, X2))
PI_IN_AGG(X1, X2, X3) → LESSD_IN_AG(X1, X2)
LESSD_IN_AG(s(X1), s(X2)) → U3_AG(X1, X2, lessD_in_ag(X1, X2))
LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)
PI_IN_AGG(X1, X2, X3) → U13_AGG(X1, X2, X3, lesscD_in_ag(X1, X2))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → U14_AGG(X1, X2, X3, inE_in_gg(X1, X3))
U13_AGG(X1, X2, X3, lesscD_out_ag(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(s(X2), X3, X4)) → U4_GG(X1, X2, X3, X4, lessG_in_gg(X1, X2))
INE_IN_GG(X1, tree(s(X2), X3, X4)) → LESSG_IN_GG(X1, X2)
LESSG_IN_GG(s(X1), s(X2)) → U10_GG(X1, X2, lessG_in_gg(X1, X2))
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → U6_GG(X1, X2, X3, X4, inE_in_gg(X1, X3))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U7_GG(X1, X2, X3, X4, lessG_in_gg(X2, s(X1)))
INE_IN_GG(X1, tree(X2, X3, X4)) → LESSG_IN_GG(X2, s(X1))
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → U9_GG(X1, X2, X3, X4, inE_in_gg(X1, X4))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
INH_IN_AG(X1, tree(X2, X3, X4)) → U20_AG(X1, X2, X3, X4, pJ_in_gag(X2, X1, X4))
INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U15_GAG(X1, X2, X3, lessK_in_ga(X1, X2))
PJ_IN_GAG(X1, X2, X3) → LESSK_IN_GA(X1, X2)
LESSK_IN_GA(s(X1), s(X2)) → U11_GA(X1, X2, lessK_in_ga(X1, X2))
LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → U17_GAG(X1, X2, X3, inH_in_ag(X2, X3))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → U21_AG(X1, X2, X3, inH_in_ag(s(X1), X3))
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U22_AG(X1, X2, X3, X4, lessK_in_ga(X2, X1))
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → LESSK_IN_GA(X2, X1)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → U24_AG(X1, X2, X3, X4, inH_in_ag(s(X1), X4))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
inH_in_ag(
x1,
x2) =
inH_in_ag(
x2)
tree(
x1,
x2,
x3) =
tree(
x1,
x2,
x3)
s(
x1) =
s(
x1)
inA_in_g(
x1) =
inA_in_g(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
pI_in_agg(
x1,
x2,
x3) =
pI_in_agg(
x2,
x3)
lessD_in_ag(
x1,
x2) =
lessD_in_ag(
x2)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
inE_in_gg(
x1,
x2) =
inE_in_gg(
x1,
x2)
lessG_in_gg(
x1,
x2) =
lessG_in_gg(
x1,
x2)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
pJ_in_gag(
x1,
x2,
x3) =
pJ_in_gag(
x1,
x3)
lessK_in_ga(
x1,
x2) =
lessK_in_ga(
x1)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
INH_IN_AG(
x1,
x2) =
INH_IN_AG(
x2)
U18_AG(
x1,
x2,
x3,
x4) =
U18_AG(
x1,
x2,
x3,
x4)
INA_IN_G(
x1) =
INA_IN_G(
x1)
U1_G(
x1,
x2,
x3,
x4) =
U1_G(
x1,
x2,
x3,
x4)
U2_G(
x1,
x2,
x3,
x4) =
U2_G(
x1,
x2,
x3,
x4)
U19_AG(
x1,
x2,
x3,
x4,
x5) =
U19_AG(
x2,
x3,
x4,
x5)
PI_IN_AGG(
x1,
x2,
x3) =
PI_IN_AGG(
x2,
x3)
U12_AGG(
x1,
x2,
x3,
x4) =
U12_AGG(
x2,
x3,
x4)
LESSD_IN_AG(
x1,
x2) =
LESSD_IN_AG(
x2)
U3_AG(
x1,
x2,
x3) =
U3_AG(
x2,
x3)
U13_AGG(
x1,
x2,
x3,
x4) =
U13_AGG(
x2,
x3,
x4)
U14_AGG(
x1,
x2,
x3,
x4) =
U14_AGG(
x1,
x2,
x3,
x4)
INE_IN_GG(
x1,
x2) =
INE_IN_GG(
x1,
x2)
U4_GG(
x1,
x2,
x3,
x4,
x5) =
U4_GG(
x1,
x2,
x3,
x4,
x5)
LESSG_IN_GG(
x1,
x2) =
LESSG_IN_GG(
x1,
x2)
U10_GG(
x1,
x2,
x3) =
U10_GG(
x1,
x2,
x3)
U5_GG(
x1,
x2,
x3,
x4,
x5) =
U5_GG(
x1,
x2,
x3,
x4,
x5)
U6_GG(
x1,
x2,
x3,
x4,
x5) =
U6_GG(
x1,
x2,
x3,
x4,
x5)
U7_GG(
x1,
x2,
x3,
x4,
x5) =
U7_GG(
x1,
x2,
x3,
x4,
x5)
U8_GG(
x1,
x2,
x3,
x4,
x5) =
U8_GG(
x1,
x2,
x3,
x4,
x5)
U9_GG(
x1,
x2,
x3,
x4,
x5) =
U9_GG(
x1,
x2,
x3,
x4,
x5)
U20_AG(
x1,
x2,
x3,
x4,
x5) =
U20_AG(
x2,
x3,
x4,
x5)
PJ_IN_GAG(
x1,
x2,
x3) =
PJ_IN_GAG(
x1,
x3)
U15_GAG(
x1,
x2,
x3,
x4) =
U15_GAG(
x1,
x3,
x4)
LESSK_IN_GA(
x1,
x2) =
LESSK_IN_GA(
x1)
U11_GA(
x1,
x2,
x3) =
U11_GA(
x1,
x3)
U16_GAG(
x1,
x2,
x3,
x4) =
U16_GAG(
x1,
x3,
x4)
U17_GAG(
x1,
x2,
x3,
x4) =
U17_GAG(
x1,
x3,
x4)
U21_AG(
x1,
x2,
x3,
x4) =
U21_AG(
x2,
x3,
x4)
U22_AG(
x1,
x2,
x3,
x4,
x5) =
U22_AG(
x2,
x3,
x4,
x5)
U23_AG(
x1,
x2,
x3,
x4,
x5) =
U23_AG(
x2,
x3,
x4,
x5)
U24_AG(
x1,
x2,
x3,
x4,
x5) =
U24_AG(
x2,
x3,
x4,
x5)
We have to consider all (P,R,Pi)-chains
(7) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LOPSTR] contains 6 SCCs with 27 less nodes.
(8) Complex Obligation (AND)
(9) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
LESSK_IN_GA(
x1,
x2) =
LESSK_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(10) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(11) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LESSK_IN_GA(s(X1), s(X2)) → LESSK_IN_GA(X1, X2)
R is empty.
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
LESSK_IN_GA(
x1,
x2) =
LESSK_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(12) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(13) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LESSK_IN_GA(s(X1)) → LESSK_IN_GA(X1)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(14) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- LESSK_IN_GA(s(X1)) → LESSK_IN_GA(X1)
The graph contains the following edges 1 > 1
(15) YES
(16) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
LESSG_IN_GG(
x1,
x2) =
LESSG_IN_GG(
x1,
x2)
We have to consider all (P,R,Pi)-chains
(17) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(18) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains
(19) PiDPToQDPProof (EQUIVALENT transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(20) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(21) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- LESSG_IN_GG(s(X1), s(X2)) → LESSG_IN_GG(X1, X2)
The graph contains the following edges 1 > 1, 2 > 2
(22) YES
(23) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
tree(
x1,
x2,
x3) =
tree(
x1,
x2,
x3)
s(
x1) =
s(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
INE_IN_GG(
x1,
x2) =
INE_IN_GG(
x1,
x2)
U5_GG(
x1,
x2,
x3,
x4,
x5) =
U5_GG(
x1,
x2,
x3,
x4,
x5)
U8_GG(
x1,
x2,
x3,
x4,
x5) =
U8_GG(
x1,
x2,
x3,
x4,
x5)
We have to consider all (P,R,Pi)-chains
(24) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(25) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
The TRS R consists of the following rules:
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
Pi is empty.
We have to consider all (P,R,Pi)-chains
(26) PiDPToQDPProof (EQUIVALENT transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(27) Obligation:
Q DP problem:
The TRS P consists of the following rules:
INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
The TRS R consists of the following rules:
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
The set Q consists of the following terms:
lesscF_in_gg(x0, x1)
lesscG_in_gg(x0, x1)
U45_gg(x0, x1, x2)
U33_gg(x0, x1, x2)
We have to consider all (P,Q,R)-chains.
(28) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- U5_GG(X1, X2, X3, X4, lesscF_out_gg(X1, X2)) → INE_IN_GG(X1, X3)
The graph contains the following edges 1 >= 1, 5 > 1, 3 >= 2
- U8_GG(X1, X2, X3, X4, lesscG_out_gg(X2, s(X1))) → INE_IN_GG(X1, X4)
The graph contains the following edges 1 >= 1, 5 > 1, 4 >= 2
- INE_IN_GG(X1, tree(X2, X3, X4)) → U5_GG(X1, X2, X3, X4, lesscF_in_gg(X1, X2))
The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 2 > 4
- INE_IN_GG(X1, tree(X2, X3, X4)) → U8_GG(X1, X2, X3, X4, lesscG_in_gg(X2, s(X1)))
The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 2 > 4
(29) YES
(30) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
LESSD_IN_AG(
x1,
x2) =
LESSD_IN_AG(
x2)
We have to consider all (P,R,Pi)-chains
(31) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(32) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LESSD_IN_AG(s(X1), s(X2)) → LESSD_IN_AG(X1, X2)
R is empty.
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
LESSD_IN_AG(
x1,
x2) =
LESSD_IN_AG(
x2)
We have to consider all (P,R,Pi)-chains
(33) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(34) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LESSD_IN_AG(s(X2)) → LESSD_IN_AG(X2)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(35) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- LESSD_IN_AG(s(X2)) → LESSD_IN_AG(X2)
The graph contains the following edges 1 > 1
(36) YES
(37) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
tree(
x1,
x2,
x3) =
tree(
x1,
x2,
x3)
s(
x1) =
s(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
INA_IN_G(
x1) =
INA_IN_G(
x1)
U1_G(
x1,
x2,
x3,
x4) =
U1_G(
x1,
x2,
x3,
x4)
We have to consider all (P,R,Pi)-chains
(38) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(39) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
Pi is empty.
We have to consider all (P,R,Pi)-chains
(40) PiDPToQDPProof (EQUIVALENT transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(41) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
The set Q consists of the following terms:
lesscB_in_g(x0)
We have to consider all (P,Q,R)-chains.
(42) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- INA_IN_G(tree(X1, X2, X3)) → U1_G(X1, X2, X3, lesscB_in_g(X1))
The graph contains the following edges 1 > 1, 1 > 2, 1 > 3
- U1_G(X1, X2, X3, lesscB_out_g(X1)) → INA_IN_G(X2)
The graph contains the following edges 2 >= 1
(43) YES
(44) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)
The TRS R consists of the following rules:
lesscB_in_g(s(X1)) → lesscB_out_g(s(X1))
lesscD_in_ag(0, s(X1)) → lesscD_out_ag(0, s(X1))
lesscD_in_ag(s(X1), s(X2)) → U28_ag(X1, X2, lesscD_in_ag(X1, X2))
U28_ag(X1, X2, lesscD_out_ag(X1, X2)) → lesscD_out_ag(s(X1), s(X2))
lesscF_in_gg(X1, s(X2)) → U45_gg(X1, X2, lesscG_in_gg(X1, X2))
lesscG_in_gg(0, s(X1)) → lesscG_out_gg(0, s(X1))
lesscG_in_gg(s(X1), s(X2)) → U33_gg(X1, X2, lesscG_in_gg(X1, X2))
U33_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscG_out_gg(s(X1), s(X2))
U45_gg(X1, X2, lesscG_out_gg(X1, X2)) → lesscF_out_gg(X1, s(X2))
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
tree(
x1,
x2,
x3) =
tree(
x1,
x2,
x3)
s(
x1) =
s(
x1)
lesscB_in_g(
x1) =
lesscB_in_g(
x1)
lesscB_out_g(
x1) =
lesscB_out_g(
x1)
lesscD_in_ag(
x1,
x2) =
lesscD_in_ag(
x2)
lesscD_out_ag(
x1,
x2) =
lesscD_out_ag(
x1,
x2)
U28_ag(
x1,
x2,
x3) =
U28_ag(
x2,
x3)
lesscF_in_gg(
x1,
x2) =
lesscF_in_gg(
x1,
x2)
U45_gg(
x1,
x2,
x3) =
U45_gg(
x1,
x2,
x3)
lesscG_in_gg(
x1,
x2) =
lesscG_in_gg(
x1,
x2)
0 =
0
lesscG_out_gg(
x1,
x2) =
lesscG_out_gg(
x1,
x2)
U33_gg(
x1,
x2,
x3) =
U33_gg(
x1,
x2,
x3)
lesscF_out_gg(
x1,
x2) =
lesscF_out_gg(
x1,
x2)
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
INH_IN_AG(
x1,
x2) =
INH_IN_AG(
x2)
PJ_IN_GAG(
x1,
x2,
x3) =
PJ_IN_GAG(
x1,
x3)
U16_GAG(
x1,
x2,
x3,
x4) =
U16_GAG(
x1,
x3,
x4)
U23_AG(
x1,
x2,
x3,
x4,
x5) =
U23_AG(
x2,
x3,
x4,
x5)
We have to consider all (P,R,Pi)-chains
(45) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(46) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
INH_IN_AG(X1, tree(X2, X3, X4)) → PJ_IN_GAG(X2, X1, X4)
PJ_IN_GAG(X1, X2, X3) → U16_GAG(X1, X2, X3, lesscK_in_ga(X1, X2))
U16_GAG(X1, X2, X3, lesscK_out_ga(X1, X2)) → INH_IN_AG(X2, X3)
INH_IN_AG(s(X1), tree(0, X2, X3)) → INH_IN_AG(s(X1), X3)
INH_IN_AG(s(X1), tree(s(X2), X3, X4)) → U23_AG(X1, X2, X3, X4, lesscK_in_ga(X2, X1))
U23_AG(X1, X2, X3, X4, lesscK_out_ga(X2, X1)) → INH_IN_AG(s(X1), X4)
The TRS R consists of the following rules:
lesscK_in_ga(0, s(X1)) → lesscK_out_ga(0, s(X1))
lesscK_in_ga(s(X1), s(X2)) → U40_ga(X1, X2, lesscK_in_ga(X1, X2))
U40_ga(X1, X2, lesscK_out_ga(X1, X2)) → lesscK_out_ga(s(X1), s(X2))
The argument filtering Pi contains the following mapping:
tree(
x1,
x2,
x3) =
tree(
x1,
x2,
x3)
s(
x1) =
s(
x1)
0 =
0
lesscK_in_ga(
x1,
x2) =
lesscK_in_ga(
x1)
lesscK_out_ga(
x1,
x2) =
lesscK_out_ga(
x1)
U40_ga(
x1,
x2,
x3) =
U40_ga(
x1,
x3)
INH_IN_AG(
x1,
x2) =
INH_IN_AG(
x2)
PJ_IN_GAG(
x1,
x2,
x3) =
PJ_IN_GAG(
x1,
x3)
U16_GAG(
x1,
x2,
x3,
x4) =
U16_GAG(
x1,
x3,
x4)
U23_AG(
x1,
x2,
x3,
x4,
x5) =
U23_AG(
x2,
x3,
x4,
x5)
We have to consider all (P,R,Pi)-chains
(47) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(48) Obligation:
Q DP problem:
The TRS P consists of the following rules:
INH_IN_AG(tree(X2, X3, X4)) → PJ_IN_GAG(X2, X4)
PJ_IN_GAG(X1, X3) → U16_GAG(X1, X3, lesscK_in_ga(X1))
U16_GAG(X1, X3, lesscK_out_ga(X1)) → INH_IN_AG(X3)
INH_IN_AG(tree(0, X2, X3)) → INH_IN_AG(X3)
INH_IN_AG(tree(s(X2), X3, X4)) → U23_AG(X2, X3, X4, lesscK_in_ga(X2))
U23_AG(X2, X3, X4, lesscK_out_ga(X2)) → INH_IN_AG(X4)
The TRS R consists of the following rules:
lesscK_in_ga(0) → lesscK_out_ga(0)
lesscK_in_ga(s(X1)) → U40_ga(X1, lesscK_in_ga(X1))
U40_ga(X1, lesscK_out_ga(X1)) → lesscK_out_ga(s(X1))
The set Q consists of the following terms:
lesscK_in_ga(x0)
U40_ga(x0, x1)
We have to consider all (P,Q,R)-chains.
(49) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- PJ_IN_GAG(X1, X3) → U16_GAG(X1, X3, lesscK_in_ga(X1))
The graph contains the following edges 1 >= 1, 2 >= 2
- U16_GAG(X1, X3, lesscK_out_ga(X1)) → INH_IN_AG(X3)
The graph contains the following edges 2 >= 1
- INH_IN_AG(tree(X2, X3, X4)) → PJ_IN_GAG(X2, X4)
The graph contains the following edges 1 > 1, 1 > 2
- INH_IN_AG(tree(s(X2), X3, X4)) → U23_AG(X2, X3, X4, lesscK_in_ga(X2))
The graph contains the following edges 1 > 1, 1 > 2, 1 > 3
- INH_IN_AG(tree(0, X2, X3)) → INH_IN_AG(X3)
The graph contains the following edges 1 > 1
- U23_AG(X2, X3, X4, lesscK_out_ga(X2)) → INH_IN_AG(X4)
The graph contains the following edges 3 >= 1
(50) YES